package org.centsuse.intention_spring.invention.config.scenes.processor;

import com.fasterxml.jackson.core.JsonProcessingException;
import org.centsuse.intention_spring.invention.Exception.ProcessingException;
import org.centsuse.intention_spring.invention.config.scenes.SceneConfig;
import org.centsuse.intention_spring.invention.entities.contexts.DialogueContext;
import org.centsuse.intention_spring.invention.entities.http.ChatResponse;

/**
 * 场景处理器
 */
public interface SceneProcessor {

    /**
     * @deprecated 处理器初始化配置
     * @param config 配置信息
     */
    void initialize(SceneConfig config);

    /**
     * @description
     * @param input 用户输入
     * @param context 对话上下文，即历史记录
     * @return String
     * @throws ProcessingException exception
     */
    ChatResponse process(String input, DialogueContext context) throws ProcessingException, JsonProcessingException;
}
